As computer hardware and software technology continues to progress, the need for larger and faster mass storage devices for storing computer software and data continues to increase. Electronic databases and computer applications such as multimedia applications require large amounts of disk storage space. An axiom in the computer industry is that there is no such thing as enough memory and disk storage space.
To meet these ever increasing demands, hard disk drives continue to evolve and advance. Some of the early disk drives had a maximum storage capacity of five megabytes and used fourteen inch platters, whereas today's hard disk drives are commonly over one gigabyte and use 3.5 inch platters. Correspondingly, advances in the amount of data stored per unit of area, or areal density, have dramatically accelerated. For example, in the 1980's, areal density increased about thirty percent per year while in the 1990's annual areal density increases have been around sixty percent. The cost per megabyte of a hard disk drive is inversely related to its areal density.
Mass storage device manufacturers strive to produce high speed hard disk drives with large data capacities at lower and lower costs. A high speed hard disk drive is one that can store and retrieve data at a fast rate. One aspect of increasing disk drive speed and capacity is to improve or increase the areal density. Areal density may be increased by improving the method of storing and retrieving data.
In general, mass storage devices, such as hard disk drives, include a magnetic storage media, such as rotating disks or platters, a spindle motor, read/write heads, an actuator, a pre-amplifier, a read channel, a write channel, a servo controller, and control circuitry to control the operation of the hard disk drive and to properly interface the hard disk drive to a host or system bus. The read channel, write channel, servo controller, and memory may all be implemented as one integrated circuit that is referred to as a data channel. The control circuitry often includes a microprocessor for executing control programs or instructions during the operation of the hard disk drive.
A hard disk drive (HDD) performs write and read operations when storing and retrieving data. A typical HDD performs a write operation by transferring data from a host interface to its control circuitry. The control circuitry then stores the data in a local dynamic random access memory (DRAM). A control circuitry processor schedules a series of events to allow the information to be transferred to the disk platters through a write channel. The control circuitry moves the read/write heads to the appropriate track and locates the appropriate sector of the track. Finally, the HDD control circuitry transfers the data from the DRAM to the located sector of the disk platter through the write channel. The write channel may encode the data so that the data can be more reliably retrieved later. A sector generally has a fixed data storage capacity, such as 512 bytes of user data per sector.
In a read operation, the appropriate sector to be read is located and data that has been previously written to the disk is read. The read/write head senses the changes in the magnetic flux of the disk platter and generates a corresponding analog read signal. The read channel receives the analog read signal, conditions the signal, and detects "zeros" and "ones" from the signal. The read channel conditions the signal by amplifying the signal to an appropriate level using automatic gain control (AGC) techniques. The read channel then filters the signal, to eliminate unwanted high frequency noise, equalizes the channel, detects "zeros" and "ones" from the signal, and formats the binary data for the control circuitry. The binary or digital data is then transferred from the read channel to the control circuitry and is stored in the DRAM of the control circuitry. The processor then communicates to the host that data is ready to be transferred. When data is being either read or written in a HDD, data is exchanged between the control circuitry and the read channel. This data exchange occurs over a data path operating at a high speed.
As the disk platters are moving, the read/write heads must align or stay on a particular track. This is accomplished by reading information from the disk called a servo wedge. Generally, each sector has a corresponding servo wedge. The servo wedge indicates the position of the heads. The data channel receives this position information so the servo controller can continue to properly position the heads on the track.
Traditional HDD read channels used a technique known as peak detection for extracting or detecting digital information from the analog information stored on the magnetic media. In this technique, the waveform is level detected and if the waveform level is above a threshold during a sampling window, the data is considered a "one". More recently, advanced techniques utilizing discrete time signal processing (DTSP) to reconstruct the original data written to the disk are being used in read channel electronics to improve areal density. In these techniques, the data is synchronously sampled using a data recovery clock. The sample is then processed through a series of mathematical manipulations using signal processing theory.
There are several types of synchronously sampled data (SSD) channels. Partial response, maximum likelihood (PRML); extended PRML (EPRML); enhanced, extended PRML (EEPRML); fixed delay tree search (FDTS); and decision feedback equalization (DFE) are several examples of different types of SSD channels using DTSP techniques. The maximum likelihood detection performed in several of these systems is usually performed by a Viterbi decoder implementing the Viterbi algorithm, named after Andrew Viterbi who developed it in 1967.
The SSD channel generally requires mixed-mode circuitry for performing a read operation. The circuitry may perform such functions as analog signal amplification, automatic gain control (AGC), continuous time filtering, signal sampling, DTSP manipulation, timing recovery, signal detection, and formatting. The data channel circuitry, including both a read channel and a write channel, may be implemented on a single integrated circuit package that contains various input and output (I/O) pins.
In all of the SSD channels, the major goal during a read operation is to accurately retrieve the data with the lowest bit error rate (BER) in the highest noise environment. The SSD channel which does this best is the optimal channel for use in a system which results in the ability to greatly increase the storage capacity of a mass storage system. Much of the SSD channel performance is dependent upon various physical properties and characteristics of the individual disk storage medium and read/write heads that vary from one system to another. Each disk storage medium and read/write head is unique with individual physical and magnetic characteristics. The various properties and characteristics cannot be sufficiently controlled during manufacture to ensure uniformity. The SSD channel circuitry may also vary from one channel to the other resulting in the introduction of undesirable characteristics into the channel circuitry. Over time, the various physical properties and characteristics of the mass storage system or HDD may change also resulting in decreased performance.
SSD channel performance during read operations may be optimized or enhanced by using various operational parameters in the read channel circuitry to account for the unique physical and magnetic characteristics of each HDD system. The read channel circuitry includes a plurality of circuit modules for processing the waveform data signal. Some of these circuit modules may use operational parameters to enhance or optimize their performance. For example, filter coefficients or operational parameters may be used by the finite impulse response filter (FIR) of the read channel to adapt or equalize the FIR filter to accommodate for the unique properties of a particular HDD system so that the desired channel performance is provided. The operational parameters can be calculated for each system to obtain optimal HDD performance. These calculations may be done at the time of manufacture, during burn-in, and at various times during the life of the HDD as needed to account for the physical and magnetic characteristics that vary over time.
The calculation of these operational parameters involves writing known data to a location on the HDD and analyzing one or more of the read channel waveform signals generated by the various read channel circuit modules in response to reading the waveform data signal generated from the known data. These read channel waveform signals must be accessed and sampled, and then analyzed using processing circuitry. Accessing the needed read channel waveform signals is difficult and cumbersome. Many of the needed read channel waveform signals are internal signals that are not externally accessible from the read channel. Other read channel signals may be accessible through dedicated I/O pins or serial ports having limited bandwidth and requiring added circuitry. If processing circuitry is established within the read channel to process the sampled signals, the size and cost of read channel circuitry is greatly increased.
Even though certain read channel signals may be accessible externally through I/O pins, extensive manpower and sophisticated equipment is necessary to set up the external processing circuitry needed to sample the appropriate read channel signals and to calculate the corresponding operational parameters. Processing circuitry and software routines must be provided to calculate the operational parameters once the proper signals are sampled. The processing circuitry may include a microprocessor for analyzing the sampled waveform signals and calculating the corresponding operational parameters. The problem of sampling and processing the various read channel waveform signals becomes even more burdensome and expensive to solve after manufacture when untrained users are performing the steps and when the various read channel signals may be unaccessible. Additional problems surround the method in which the read channel signals are supplied to the processing circuitry. The data paths provided by the I/O pins are of limited bandwidth and may increase the time needed to calculate the operational parameters. Thus, significant problems exist in accessing read channel signals and providing circuitry to sample and process the signals so that operational parameters may be calculated.